// pages/MV/MV.js
import request from '../../utils/request';

Page({
  data: {
    mvList: [], // MV 列表
    offset: 0, // 分页偏移量
    limit: 20, // 每页加载的数量
    hasMore: true // 是否还有更多数据
  },

  // 页面加载时初始化数据
  onLoad() {
    this.loadMVList();
  },

  // 加载 MV 列表
  async loadMVList() {
    try {
      const { offset, limit } = this.data;
      const url = `/mv/all?offset=${offset}&limit=${limit}`;
      console.log('请求的 URL:', url); // 打印请求的 URL

      // 发起请求
      const res = await request(url);
      console.log('API 返回数据:', res);

      // 检查返回数据
      if (res && res.data && res.data.length > 0) {
        const mvList = res.data.map(item => ({
          ...item,
          cover: item.cover, // 封面图
          name: item.name, // MV 名称
          artistName: item.artistName, // 艺术家名称
          playCount: this.formatPlayCount(item.playCount) // 格式化播放量
        }));

        // 更新页面数据
        this.setData({
          mvList: offset === 0 ? mvList : this.data.mvList.concat(mvList),
          offset: offset + limit,
          hasMore: res.hasMore // 判断是否还有更多数据
        }, () => {
          console.log('mvList 更新后的数据:', this.data.mvList); // 打印更新后的数据
        });
      } else {
        console.error('API 返回数据为空或格式不正确');
        wx.showToast({ title: '数据加载失败，请重试', icon: 'none' });
      }
    } catch (error) {
      console.error('加载 MV 失败:', error);
      wx.showToast({ title: '加载失败', icon: 'none' });
    }
  },

  // 格式化播放量
  formatPlayCount(count) {
    if (count >= 100000) {
      return `${(count / 10000).toFixed(1)}万`;
    }
    return count;
  },

  // 上拉加载更多
  onReachBottom() {
    if (this.data.hasMore) {
      this.loadMVList();
    } else {
      wx.showToast({ title: '没有更多数据了', icon: 'none' });
    }
  }
});